home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / pygtk / 2.0 / codegen / mkskel.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2006-01-20  |  3KB  |  67 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. import sys
  5. import os
  6. import getopt
  7. module_init_template = '/* -*- Mode: C; c-basic-offset: 4 -*- */\n' + '#ifdef HAVE_CONFIG_H\n' + '#  include "config.h"\n' + '#endif\n' + '#include <Python.h>\n' + '#include <pygtk.h>\n' + '\n' + '/* include any extra headers needed here */\n' + '\n' + 'void %(prefix)s_register_classes(PyObject *d);\n' + 'extern PyMethodDef %(prefix)s_functions[];\n' + '\n' + 'DL_EXPORT(void)\n' + 'init%(module)s(void)\n' + '{\n' + '    PyObject *m, *d;\n' + '\n' + '    /* perform any initialisation required by the library here */\n' + '\n' + '    m = Py_InitModule("%(module)s", %(prefix)s_functions);\n' + '    d = PyModule_GetDict(m);\n' + '\n' + '    init_pygtk();\n' + '\n' + '    %(prefix)s_register_classes(d);\n' + '\n' + '    /* add anything else to the module dictionary (such as constants) */\n' + '\n' + '    if (PyErr_Occurred())\n' + '        Py_FatalError("could not initialise module %(module)s");\n' + '}\n'
  8. override_template = '/* -*- Mode: C; c-basic-offset: 4 -*- */\n' + '%%%%\n' + 'headers\n' + '/* include any required headers here */\n' + '%%%%\n' + 'init\n' + '    /* include any code here that needs to be executed before the\n' + '     * extension classes get initialised */\n' + '%%%%\n' + '\n' + '/* you should add appropriate ignore, ignore-glob and\n' + ' * override sections here */\n'
  9.  
  10. def open_with_backup(file):
  11.     if os.path.exists(file):
  12.         
  13.         try:
  14.             os.rename(file, file + '~')
  15.         except OSError:
  16.             pass
  17.         except:
  18.             None<EXCEPTION MATCH>OSError
  19.         
  20.  
  21.     None<EXCEPTION MATCH>OSError
  22.     return open(file, 'w')
  23.  
  24.  
  25. def write_skels(fileprefix, prefix, module):
  26.     fp = open_with_backup(fileprefix + 'module.c')
  27.     fp.write(module_init_template % {
  28.         'prefix': prefix,
  29.         'module': module })
  30.     fp.close()
  31.     fp = open_with_backup(fileprefix + '.override')
  32.     fp.write(override_template % {
  33.         'prefix': prefix,
  34.         'module': module })
  35.     fp.close()
  36.  
  37. if __name__ == '__main__':
  38.     (opts, args) = getopt.getopt(sys.argv[1:], 'f:p:m:h', [
  39.         'file-prefix=',
  40.         'prefix=',
  41.         'module=',
  42.         'help'])
  43.     fileprefix = None
  44.     prefix = None
  45.     module = None
  46.     for opt, arg in opts:
  47.         if opt in ('-f', '--file-prefix'):
  48.             fileprefix = arg
  49.             continue
  50.         if opt in ('-p', '--prefix'):
  51.             prefix = arg
  52.             continue
  53.         if opt in ('-m', '--module'):
  54.             module = arg
  55.             continue
  56.         if opt in ('-h', '--help'):
  57.             print 'usage: mkskel.py -f fileprefix -p prefix -m module'
  58.             sys.exit(0)
  59.             continue
  60.     
  61.     if not fileprefix and not prefix or not module:
  62.         print 'usage: mkskel.py -f fileprefix -p prefix -m module'
  63.         sys.exit(1)
  64.     
  65.     write_skels(fileprefix, prefix, module)
  66.  
  67.